package com.tanqing.ddd.web.entity;

import com.baomidou.mybatisplus.annotation.FieldFill;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName;
import java.io.Serializable;
import lombok.Getter;
import lombok.Setter;
import lombok.experimental.Accessors;

/**
 * <p>
 * 车辆出入记录
 * </p>
 *
 * @author zs
 * @since 2024-01-06
 */
@Getter
@Setter
@Accessors(chain = true)
@TableName("cf_car_park_use_log")
public class CfCarParkUseLog implements Serializable {

    private static final long serialVersionUID = 1L;

    private String id;

    /**
     * 车牌号
     */
    private String numberPlate;

    /**
     * 用户id(使用场景:申请临时通行时会标记用户)
     */
    private String uid;

    /**
     * 进场小图
     */
    private String inSmallImage;

    /**
     * 出场小图
     */
    private String outSmallImage;

    /**
     * 进场大图
     */
    private String inBigImage;

    /**
     * 出场大图
     */
    private String outBigImage;

    /**
     * 停车场id
     */
    private String carParkId;

    /**
     * 预约时间
     */
    private Long subscribeTime;

    /**
     * 取消预约时间
     */
    private Long cancelSubscribeTime;

    /**
     * 进场时间
     */
    private Long inTime;

    /**
     * 出场时间
     */
    private Long outTime;

    /**
     * 入场放行方式(0-未知/1-自动抬杆/2-人工抬杆/3-手机放行，断电断网时)
     */
    private Byte inReleaseType;

    /**
     * 出场放行方式(0-未知/1-自动抬杆/2-人工抬杆/3-手机放行，断电断网时)
     */
    private Byte outReleaseType;

    /**
     * 入口id
     */
    private String inCheckPointId;

    /**
     * 出口id
     */
    private String outCheckPointId;

    /**
     * 产生该停车记录的位置(out-外场/in-内场)
     */
    private String createPosition;

    /**
     * 支付时间
     */
    private Long payTime;

    /**
     * 创建时间
     */
    @TableField(fill = FieldFill.INSERT)
    private Long createTime;

    /**
     * 入场处理者id(例如:值班人id)
     */
    private String inHandleUid;

    /**
     * 出场处理者id(例如:值班人id)
     */
    private String outHandleUid;

    /**
     * 计费状态(0-实时计算/1-按已存在的出场时间计算)
     */
    private Byte countFeeStatus;

    /**
     * 备注
     */
    private String remarks;

    /**
     * 车辆类型
     */
    private String carType;

    /**
     * 车辆状态(0-禁用/1-正常/2-已过期)，此状态包含套餐，特殊车辆状态
     */
    private Byte carStatus;

    /**
     * 到访单元
     */
    private String visitUnit;

    /**
     * 赠送的停车时间
     */
    private Long giveAwayParkTime;

    /**
     * 车辆车牌颜色(0：未知、1：蓝色、2：黄色、3：白色、4：黑色、5：绿色)
     */
    private Byte carNumberPlateColor;

    /**
     * 车辆品牌
     */
    private String carBrand;

    /**
     * 车位编号
     */
    private String parkingSpaceNumber;
}
